//
//  HPRequestModel.h
//  Network
//
//  Created by phq on 2019/7/4.
//  Copyright © 2019 phq. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HPDefine.h"

#define path_recommend @"api-recommend"
#define path_occupation @"api-occupation"
#define path_operation @"api-operation"

NS_ASSUME_NONNULL_BEGIN

@interface HPRequestModel : NSObject
@property (nonatomic,assign) ATokenType type;
@property (nonatomic,strong) NSString *dateGMT;               // 请求时间
@property (nonatomic,strong,nullable) NSString *postParams;   // 定义为post的参数 (实质是p=参数的jsonString,存放在body)
@property (nonatomic,strong,nullable) NSString *getParams;    // 定义为get的参数  (实质是g=参数的jsonString)

// 【新】2023年中台微服务统一使用path（有疑问找张中伟）
+ (instancetype)initWithPath:(NSString *)path param:(NSDictionary  * _Nullable )param op:(NSString *)op func:(NSString *)func;


/// POST数据转换成服务器所需要的格式
/// @param param post参数的字典格式
- (NSString *)paramFormat:(NSDictionary *)param;

/// 接口参数配置的抽象，调用后自动更新url、getParams、dateGMT属性值
/// @param op 接口的类名
/// @param func 接口方法名
/// @param type 接口用户类型。另：addVer 是否带版本号，默认带YES
- (void)paramsConfigWithOp:(NSString *)op func:(NSString *)func tokenType:(ATokenType)type;
- (void)paramsConfigWithOp:(NSString *)op func:(NSString *)func tokenType:(ATokenType)type addVersion:(BOOL)addVer;


/// Java Web Serve 的服务接口，2023中台微服务新体系
/// @param op 接口的类名
/// @param func 接口方法名
/// @param path 域名路径，如@"api-recommend"
- (void)paramsConfigWithOp:(NSString *)op func:(NSString *)func path:(NSString *)path;
@end


NS_ASSUME_NONNULL_END

